The present invention relates to systems which search and provide an optimal program satisfying a user requested specification from among various programs such as, for example application programs, stored in respective information processing equipments such as computers interconnected by communication lines in a network.
A conventional centralized system uses as a database server a computer connected with a particular node on a communication line in a network. A program server in the network beforehand stores data on a copy of a program in the database server or enters in the database server the node address of the computer which stores the program.
A computer connected to any node on the communication in the network accesses the database server to retrieve a desired program. When the computer finds the desired program, it loads the program from the database server when the database server has stored that program. When the server has not stored that program, the computer acquires from the database server data on the node address of a computer, which has stored that program, in the network, and loads the program, accesses the last-mentioned computer and loads that program.
It takes much time for the centralized system to enter a program. The versions of the programs are frequently improved in many cases. Each time such version is entered, the trouble required for such entry is a substantial overhead. The term "program" hereinafter implies both a program and data indispensable for execution of that program in this description as required.
Since in a large-scaled network a multiplicity of nodes make processing requests to a particular database server or a small number of database servers, communication traffic in the network is concentrated on those servers to reduce the efficiency of use of the network.
JP-A-3-116262 laid-open on May 17, 1991 (corresponding to U.S. Ser. No. 314,853, filed Feb. 24, 1989) discloses improvements of the efficiency of a process to be executed, responsive to a request by a client, by any particular one of a plurality of servers connected with a network.
An information processor (referred to as a broker) connected with a network manages the resources of the servers in place of the respective clients so that the client himself is not required to monitor the respective states of the servers' resources. Before a client requests some service from a server, the client presents the contents of the desired service to the broker and has the broker introduce a server by which the client wants to be served.
JP-A-2-2450 laid-open on Jan. 8, 1990 (corresponding to U.S. Ser. No. 127,993, filed Dec. 2, 1987) discloses an object managing system for avoiding concurrent update which may occur when common data object stored in an information processor (server) is referred to/updated by a plurality of users via a network in a common multi-user atmosphere.
JP-A-4-60739 laid-open on Feb. 26, 1992 discloses a system where a computer acting as a client is provided with a file for managing information on application programs and information on server computers storing the information on application programs to facilitate loading of an application program to be executed onto a computer (client) from a computer (server) connected with a network and storing that program. A server computer to be accessed is selected based on such file.
JP-A-1-126736 laid open on May 18, 1989 (corresponding to U.S. Ser. No. 886,622, filed Aug. 21, 1987) discloses a system which processes various types of objects, using another application program which does not directly know the types of objects, in which the data to be processed with an application program is called a typed object. To this end, a process called an object manager is provided to search and start an application program which is able to process the corresponding type of object.